package com.qumitech.visualnovel.datasource.console;

import com.qumitech.visualnovel.model.dao.console.TaskRecord;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface TaskRecordMapper {

    List<TaskRecord> ListTask(@Param("userName") String userName, @Param("startTime") String startTime, @Param("endTime") String endTime,
                              @Param("offset") int offset, @Param("pageSize") int pageSize);

    int CountTaskList(@Param("userName") String userName, @Param("startTime") String startTime,
                      @Param("endTime") String endTime, @Param("offset") int offset, @Param("pageSize") int pageSize);
    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table task_record
     *
     * @mbggenerated
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table task_record
     *
     * @mbggenerated
     */
    int insert(TaskRecord record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table task_record
     *
     * @mbggenerated
     */
    int insertSelective(TaskRecord record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table task_record
     *
     * @mbggenerated
     */
    TaskRecord selectByPrimaryKey(Integer id);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table task_record
     *
     * @mbggenerated
     */
    int updateByPrimaryKeySelective(TaskRecord record);

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table task_record
     *
     * @mbggenerated
     */
    int updateByPrimaryKey(TaskRecord record);

    List<TaskRecord> getList(@Param("modelName") String modelName,
                             @Param("accountId") Integer accountId,
                             @Param("status") Integer status,
                             @Param("startTime") String startTime,
                             @Param("endTime") String endTime,
                             @Param("offset") int offset,
                             @Param("pageSize") int pageSize,
                             @Param("orderBy") String orderBy,
                             @Param("orderType") String orderType);

    int getCount(@Param("modelName") String modelName,
                 @Param("accountId") Integer accountId,
                 @Param("status") Integer status,
                 @Param("startTime") String startTime,
                 @Param("endTime") String endTime);


}